package com.framework.foundation.common;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;

import org.apache.commons.lang3.StringUtils;

import com.framework.foundation.util.ModelInjector;
import com.jfinal.core.Controller;

/**
 * 基础控制器
 * 
 * @Author: Brin
 * @Date: 2015年10月30日 下午1:14:01
 */
public abstract class BaseController extends Controller {

	/**
	 * 获取简单的参数集合，默认将数组以","分隔转换成字符串返回
	 * 
	 * @return
	 * @Author: Brin
	 * @Date: 2015年11月2日 上午10:34:29
	 */
	protected Map<String, Object> getSimpleParaMap() {
		Map<String, Object> map = new LinkedHashMap<String, Object>();
		for (Entry<String, String[]> entry : getParaMap().entrySet()) {
			map.put(entry.getKey(), StringUtils.join(entry.getValue(), ","));
		}
		return map;
	}

	/**
	 * 不需要前缀名称封装请求参数到modal
	 */
	public <T> T getModelWithoutPrefix(Class<T> modelClass) {
		return (T) ModelInjector.inject(modelClass, getRequest(), false);
	}

}
